package org.leetcode.easy.leetcode70;

public class Solution
{

    public int climbStairs2(int n){

        //dp[n]的含义：n层楼梯有dp[n]种方法
        int [] dp = new int[n+1];

        dp[0]=1;
        dp[1]=1;

        for (int i = 2; i <=n; i++) {
            dp[i]=dp[i-1]+dp[i-2];
        }

        return dp[n];
    }
    public int climbStairs(int n)
    {
        int [] dp = new int[n+1];

        dp[0]=1;
        dp[1]=1;

        for (int i = 2; i <=n; i++) {
            dp[i]=dp[i-1]+dp[i-2];
        }

        return dp[n];
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        int i = solution.climbStairs(3);
        System.out.println(i);
    }
}
